// pages/myeventlist/myeventlist.js
var util = require("../../utils/util.js")
const db = wx.cloud.database()
const event = db.collection('event')
const user = db.collection('user')
const _ = db.command
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
    eventlist: [],
    eventidlist: [],
    waitinglist: [],
    unvaluelist: [],
    finishlist: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var myeventidlist = []
    var templist = []
    var _this = this
    _this.setData({
      active: options.active
    })
    user.where({
        _openid: app.globalData.openID
      })
      .field({
        myevents: true,
      })
      .get()
      .then(res => {
        myeventidlist = res.data[0].myevents
        _this.data.eventidlist = myeventidlist

        console.log('myeventidlist event_id 为：' + JSON.stringify(myeventidlist))
        let alleventlist = []
        for (var i = 0; i < myeventidlist.length; i++) {
          if (!alleventlist.includes(myeventidlist[i].event_id)) {
            alleventlist.push(myeventidlist[i].event_id)
          }

          _this.setData({
            alleventlist: alleventlist,
          })
        }
        console.log('alleventlist:' + _this.data.alleventlist)
        event
          .where({
            _id: _.in(_this.data.alleventlist)
          })
          //.doc(myeventidlist[i].event_id)
          .get()
          .then(res => {
            /*
              for (var j = 0; j < myeventidlist.length;j++){
                if (res.data._id == myeventidlist[j].event_id){
                  res.data.score = myeventidlist[j].score
                  res.data.fmttimefrom = util.formatTime(res.data.timefrom)
                }
              }*/
            _this.setData({
              eventlist: res.data //event 集合 所有字段
            }, () => {

              user.where({
                  _openid: app.globalData.openID,
                }).get()
                .then(res => {
                  let myeventlist = res.data[0].myevents //user 集合 myevents数组
                  _this.setData({
                    myeventlist: myeventlist //user 集合 myevents数组
                  })

                  console.log('this data myeventlist: ' + JSON.stringify(_this.data.myeventlist))

                  // 填充待参加列表数组
                  var temp = []
                  var timestamp = new Date()
                  //以下用到的 eventlist  和 myeventlist
                  // eventlist   event集合 所有字段
                  //myeventlist  user集合 myevents 字段
                  //比较 eventlist 的 时间 是否还未开始（大于当前时间） 然后 如果 
                  // eventlist 的 _id 等于 myeventlist 的 event_id 相等的话 就push item.eventid 到temp里
                  //查询 包含temp 的 event集合并 赋值给 waitinglist
                  for (var i = 0; i < _this.data.eventlist.length; i++) {
                    let timefrom = new Date(_this.data.eventlist[i].timefrom);
                    console.log('_this.data.eventlist[i].timefrom 为：' + _this.data.eventlist[i].timefrom)
                    console.log('timefrom：' + timefrom.getTime())
                    console.log('timestap为：' + timestamp.getTime())

                    if (timefrom.getTime() > timestamp.getTime()) {
                      console.log('compare time:0000000000000000000000000')
                      myeventlist.forEach(item => {

                        console.log('myeventlist item 为：' + JSON.stringify(item))
                        //console.log('_this.data.eventlist[i] '+JSON.stringify(_this.data.eventlist[i] ))
                        if (item.event_id == _this.data.eventlist[i]._id) {
                          temp.push(item.event_id)
                          console.log('temp 为00000000000000：' + temp)
                        }
                      })

                    }
                    console.log('temp 为111111111111111：' + temp)
                    event.where({
                        _id: _.in(temp)
                      }).get()
                      .then(res => {
                        _this.setData({
                          waitinglist: res.data
                        })
                      })
                  }


                  // 填充待评价列表数组
                  var temp1 = []
                  var timestamp = new Date()
                  for (var i = 0; i < _this.data.myeventlist.length; i++) {
                    _this.data.eventlist.forEach(item => {
                      let timeto = new Date(item.timeto)
                      if (_this.data.myeventlist[i].score == 0 && timeto.getTime() < timestamp.getTime()) {
                        if (_this.data.myeventlist[i].event_id == item._id) {
                          //  if (_this.data.myeventlist[i].score == 0) {
                          temp1.push(_this.data.myeventlist[i].event_id)
                          console.log('temp1 为00000000000：' + JSON.stringify(temp1))
                        }
                      }
                    })
                  }
                  console.log('temp1 为11111111111：' + JSON.stringify(temp1))
                  event.where({
                      _id: _.in(temp1)
                    }).get()
                    .then(res => {
                      console.log('由 temp1 获得的 res data' + JSON.stringify(res.data))
                      _this.setData({
                        unvaluelist: res.data
                      })
                    })

                  // 填充已结束列表数组
                  var temp2 = []
                  var timestamp = new Date()
                  for (var i = 0; i < _this.data.eventlist.length; i++) {
                    // if (_this.data.eventlist[i].score != 0 && _this.data.eventlist[i].timeto < timestamp) {
                    if (_this.data.eventlist[i].timeto < timestamp) {
                      console.log('_this.data.eventlist[i] 为：' + JSON.stringify(_this.data.eventlist[i]))
                      temp2.push(_this.data.eventlist[i])
                    }
                    _this.setData({
                      finishlist: temp2
                    })
                  }

                })


            })
          })
        //  }
      })
  },

  Gotoeventdetail: function (event) {
    wx.navigateTo({
      url: '/pages/eventdetail/eventdetail?id=' + event.currentTarget.id,
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // onChange(event) {
  //   wx.showToast({
  //     title: `切换到标签 ${event.detail.index + 1}`,
  //     icon: 'none'
  //   });
  // }

})